図ー emacs-lisp-mode コマンドの実彳テ糸吉果 ご二一、社ご h ・ ・ Emacs Lisp のデノヾッグ環境 ・ Emacs Lisp のテスト環境 ・ Emacs Lisp を書く環境 今回は予告どおり、 V 原稿は繰り返す ・トに 3 ご についてのお話です。ただし、一気に片付けるには量が多 すぎて消化不良を起こしそうなので、 2 回に分けることに しました。今回は前半戦ということで、 EmacsLisp を書 く環境、実行する環境を憶えてもらいましよう。残りは、 また次回へ先送り。 さて、この連載の 4 回目で C を書くための、℃モード〃 についてお話ししました。今回は主人公を取り替えて、 Lisp を書くためのモードについてお話ししましよう。 ところで、このところヾ地球に優しい〃が思いっきり幅 を利かせていて、プリンタ用紙だろうカ吽孚レヾックだろう が再生利用されるご時世です。、、限りある資源の有効利用 ' ' が流行っているので、筆者も世間を見習って原稿の再利用 を心掛けてみました。 以前に書いた C の記事を掘り返してみると・・ 、めつけ た。 C のプログラミング用の機能をいくっか挙げています。 そのうち Lisp にも関係するものを選ぶと、 ・カーソルの移動 ・インデント ( 字下げ ) ・コメント ・タグ機能 があります。 Lisp ではこれらの機能はどう働くのでしよう UNIX MAGAZINE 1992.1 emacs 入門 図 2 lisp-mode コマンドの実行結果 気 a し上 ー : 山 3 ぃ 3 - ね。それを追究するのがここでのテーマです。 には、モード行を見てください。図 1 のように す。本当に EmacsLisp モードになっているかを確認する 込んだときにも、自動的に EmacsLisp モードになりま を実行します。ファイル名が、、 . el 〃で終るファイルを読み M-x emacs-lisp-mode バッフアを EmacsLisp モードにするには、 フォルトで備わっていて、重宝すること間違いなしです。 Lisp モードには、これからお話しするいくつかの機能がデ 専用の、、 EmacsLisp モード〃を使ってください。 Emacs ーモードを選んでください。 EmacsLisp を書くときには、 読者の皆さんは、探求の旅に出発する前に正しいメジャ M-x lisp-mode す。こちらは、 Lisp プログラム用として、、 Lisp モード〃も用意されていま そうそう、これはおまけですが、 と表示されていれは・ OK です。 (-JJ—:Emacs-Lisp) Emacs Lisp 以外の (-JJ-:Lisp) を試してみてください。図 2 のようにモード行に すれ ( たぶん次回になるでしよう ) お話しするので、それま Emacs Lisp モードと Lisp モードの違いについてはい モードになります。 終る名前のファイルを読み込んだときも、自動的に Lisp と表示されていれば成功です。さらにツ 1 〃や、、 . lisp 〃で ではしっと我慢の子でいてください。 105
本誌 1991 年 11 月号の「 UNIX への招待ーー男性には 分からない苦労が・・・・・・」の冒頭の部分を、思わすうなすき ながら読んでしまったのは筆者だけでしようか ? ara! も、結婚と同時に住所と姓が一気に変わり、何か手 続きをしようとするたびに、まさしく 、、ここはどこ、私は だーだの状態。しかも、就職したばかりだったので健康 保険証の発行が遅れ、 1 カ月以上も身分証明ができませ ん。おかげで、各種の手続きに苦労させられました。それ でも、改姓の手続きのごたごたなんて、その後に続く混乱 とくらべれははんの序のロにすぎなかったのです。 login 名だけは入社とほば同時に決まっていたので、そ れに合わせて会社での呼び名は旧姓を使い続けることにし ました 1 。ところが、落し穴さんは、ちゃんと両手を広けて 待っていてくれました ( そんなもん、待っとらんでええっち ゅうのにリ ) 。 1 つ目の落し穴はプライベートな電話。仕事関係の電話 は ara ! にかかってくるので問題はないのですが、プライベ ートな電話は、、 fujii" へかかってきます 2 。ところが、会社 にはもう 1 人 fuj ⅱがいるので、この類の電話はもう 1 人 のほうへつながれてしまいます。 2 つ目の落し穴は銀行振込です。通帳は fuj ⅱ名義で作 っているのですが、ある日のこと次のような振込通知が届 きました。 「ご指定の口座に振り込みました。ご確認のうえ、領収書 あ ! もしかして・・・ あれ ? 振り込まれてないけどなあ。 をご返送ください」 104 2 お分かりのように、旧姓が ara ! でいまの名前が fuj ⅱです。 ですが・・・ 1 もちろんメールのフェイルさえ恐れなければ、 login 名を変えてもよかったの ernacs 入門 同じ心ならん人と 荒井美千子 「あの・・・・・・、もしかして ara! 宛に振り込まれました ? あ あ、やつばり。しつは・・・ そして、とどめは会社の同僚と行った香港旅行。あれこ れ手配してくれたまではよかったのですが、ついいつもの 習慣で飛行機のチケットが見事にすべて ara! で予約され ているのです。ところが、パスポートはもちろん fuj ⅱで す。おかげで、搭乗ゲートを通るたびに係のおねーさんに 呼び止められてしまいました。 中国語訛りの英語で、 「名前が違いますねえ」 ちょっと焦りながら、日本語訛りの英語で、 「チケットを予約するときに名前を間違えたんです。チケ ットは旧姓、パスポートは結婚後の姓で・・・・・・」 と言ったつもりでしたが、なにしろ、、旧姓〃とか、、結婚後 の姓〃などが通している自信はない。案の定、不審な顔を されてしまいました。 それでは結婚後の姓を名乗ればいいかというと、それは それで不便なことがあるらしい。 c さん : ひさしぶりに会った取引相手に名刺を渡したら、 私だと思ってもらえなかった。電話も旧姓でかかってく るから、取次ぎがうまくいかないし・・ ara! : ほんとほんと、なんでこんなに不便なんだろうね。 0 さん : まったく、 5 回も名前を変えないでほしいわ。 c さん : え ? 5 回 ? 0 さん : 同級生で、今度 3 度目の結婚の人がいるのよ。ほか にも名前の変わる人が多くって、同窓会名簿なんか旧姓 しか載せないことにしたくらいよ。 UNIX MAGAZINE 1992.1
マニュアルの話 a) Contents や lndex の活用 セクション 1 でみつからなければ、該当しそうなはかの 基本は目次や索引を使って、調べたい事項のキーワード セクションを続けて捜せはいいのです。 をもとに説明が書かれている場所や関連する項目をみつけ オンライン・マニュアルのファイル数が多い場合、引数 ることです。これは通常の書籍を読むときの目次や索引の が多すぎる〃というエラーになるかもしれません。そのよ 使い方と同しですから、根気よく捜せばかならすみつかる うなときは、 はすです。ただし、なかには索引のないマニュアルもあり、 % grep keyword [a—n] * この方法が使えないこともあります。 % grep keyword [o—z] * b) lntroduction 項目の活用 のように、いくつかのコマンドに分けれは大丈夫です。な リファレンス・マニュアルの各セクションの先頭には、 通常、、 INTRO(x)" と呼はれる項目があります。ここに お、最近の SunOS のように、引数としてかなり長い文字 は、そのセクション全体の概要が記されています。そのセ 列も指定できるのなら、 クション固有の注意事項のほか、 OS によってはそのセク % cd /usr/man ションに求されている項目名とその簡単な説明の一覧が % grep keyword man?/* 己載されています。つまり、一種の索引です。これを使っ て知りたい事項を捜すこともできますし、ふだんから目を のようにして、すべてのオンライン・マニュアルのファイ 通しておけば、いままで知らなかったコマンドやライプラ ルを 1 回で検索できます。 リ関数についての知識が得られるでしよう。 このような方法はエレガントではありませんが、ときに c) man -k の活用 はたいへん役に立ちます。こういうことができるのも、オ 検索をマシン上でおこなうので目で捜すより素早く実行 ンライン・マニュアルが nroff / troff のソースファイルと でき、より効果的です。ただし、キーワードの与え方によ はいえ、人間が読めるテキスト形式になっているからです っては、かなりの量の項目が該当してしまうこともあり、 ね。 適切なキーワードを考えなけれはなりません。 なお、 grep での検索対象には、 cat ファイルではなく man ファイルを選びましよう。 cat ファイルには、表示時 d)SEE ALSO の活用 捜したいことがすぐにみつからない場合、リファレン にアンダーラインや強調表示となるように、 ス・マニュアルに、、 SEE ALSO" の項目があれば、その部 く BS>w_ く BS>o_ く BS>r_ く BS>d 分を順にたどっていくと目的の事項にいきつくことがで w く BS>wo く BS>or く BS>rd く BS>d きます。慣れてくれは、目次や索引で捜すより、すでに知 ( く BS 〉はバックスペース ) っている項目で関連しそうなもののページを開き、 SEE などの文字列が入っていて、 grep では検索できないことが ALSO を見てそこから目的の事項をみつけるほうが早く 捜せるかもしれません。 あるからです。これらの文字列はページャをとおして見る e ) オンライン・マニュアルの特殊な使い方 とアンダーラインや強調表示になるので、このような文字 項目名や簡単な説明部分だけなら man -k で素早く検 列になっていることに気づきにくいのです。 cat ファイル 索できますが、本文に書かれていることまでは参照できま をエデイタや cat ー v を使って見ると、実際にどのような せん。そのような場合には、次のようにして直接各オンラ 文字列になっているかが分かるでしよう。 イン・マニュアルのファイルを検索するとよいでしよう。 こうすれば、目的の事項がどのコマンドやライプラリ、フ 今回は UNIX のマニュアルの基礎知識、読み方、捜し方 ァイルに関連しているかが調べられます。 のお話をしました。次回は、書き方についてお話しする予 ( よしだ・しげき東京大学 ) 定です。 % cd /usr/man/manl % grep keyword * 二一 1 ロ 103 UNIX MAGAZINE 1992.1